home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
A-Monthly Disks
/
(c)aae.d64
/
disk labeler+
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
18KB
|
497 lines
0 X$="XX":FORI=.TO3:X$=X$+X$:NEXT
1 X$=X$+"XXXXXXX":GOTO1502
2 *********************************
3 * THE DISK LABELER+ V1.0 *
4 * BY FRED LAYBERGER--SEP 1985 *
5 * OKAY TO USE BUT NOT TO SELL *
6 *********************************
10 PRINT"[147]"CY$S2$BL$R$S1$:POKE53281,11
11 GOSUB60:Y=24:X=.:GOSUB20:PRINTBL$S1$CY$S3$;:POKE2023,160:POKE56295,3:RETURN
20 PRINTLEFT$("",Y)TAB(X);:RETURN
30 GOSUB47:Y=24:X=47:GOSUB20:PRINTR$CY$" PRESS ' ^ ' TO RETURN ";:I$=""
31 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$;:FORI=1TO200:NEXT
32 A=A+1AND1:POKE199,A:GETI$:IFI$=""THEN31
33 RETURN
45 Y=24:X=.:GOSUB20:PRINTBL$S3$R$" "O$;
46 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTP$;:RETURN
47 Y=24:X=40:GOSUB20:PRINTCY$S3$W$;:RETURN
48 GOSUB60:GOSUB45:GOSUB47:RETURN
50 Y=22:X=8:GOSUB20:PRINTR$W$"INSERT "P$" DISKETTE ";:RETURN
60 Y=3:X=.:GOSUB20:FORI=3TO23:PRINT"[155] [146]"
61 NEXT:RETURN
75 POKE808,225:A1=PEEK(55):A2=PEEK(56):POKE55,PEEK(51):POKE56,PEEK(52):RETURN
77 A=FRE(.):POKE55,A1:POKE56,A2:POKE808,237:IFA=>3000THENRETURN
80 Y=10:X=11:GOSUB20:PRINT"[158]PROGRAM MAY PAUSE"
81 Y=11:X=9:GOSUB20:PRINT"[158]FOR GARBAGE COLLECTION":Z=FRE(.)
82 Y=10:X=11:GOSUB20:PRINT"[155] "
84 Y=11:X=9:GOSUB20:PRINT"[155] ":RETURN
90 REM ** ERR HANDLING
91 INPUT#15,ER,ER$,T,S:RETURN
92 GOSUB60:Y=22:X=9:GOSUB20:POKE53281,2:PRINTER;ER$;T;S:P$=S6$:GOSUB30:RETURN
93 P$=P1$:GOSUB48:CLOSE15:OPEN15,DD,15,"I"+MID$(STR$(DR),2,1)+":":GOSUB91:RETURN
94 GOSUB92:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:RETURN
100 REM ** CHANGE
102 Y=24:X=47:GOSUB20:PRINTR$CY$"PRESS 'RETURN' TO CONTINUE";:IFUTHENRETURN
104 X=21-LEN(P$):GOSUB20:PRINTW$P$;:Y=24:X=21
106 GOSUB75
108 A$=J$+RIGHT$(A$,J-I):GOSUB20:PRINTR$A$;:GOSUB20:PRINTR$J$;:IFI<JTHENPRINT"[166]";
110 WAIT198,1:GETI$:POKE198,.:IFI$=CHR$(13)THEN134
112 IFI$=CHR$(19)ORI$=CHR$(34)ORI$=""ORI$=CHR$(131)ORI$=CHR$(147)ORI$=CHR$(141)THEN108
114 IFI<=1THENIFI$=CHR$(20)ORI$=CHR$(157)THENI=.:J$="":GOTO108
116 IFI$=CHR$(29)ANDI<JTHENI=I+1:J$=LEFT$(A$,I):GOTO108
118 IFI$=CHR$(148)THEN108
120 IFI$=CHR$(20)ORI$=CHR$(157)THENJ$=LEFT$(J$,LEN(J$)-1):I=I-1:GOTO108
122 IFI$=CHR$(17)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
124 IFI$=CHR$(145)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
126 IFKTHENIFI$="*"THEN130
128 IFSL<>1THENIFI$="*"THENJ=I+1:GOTO132
130 IFI=JTHENIFI$<>CHR$(13)THEN108
132 J$=J$+I$:I=I+1:GOTO108
134 GOSUB77:RETURN
200 REM *** PRINTER CODES
202 DEFFNR(X)=INT((IP/CL-INT(IP/CL))*CL+.5):C1$=CHR$(15):C2$=CHR$(18):Z=.:IP=N
204 C3$=CHR$(14):C4$=CHR$(20)
206 H1$=E$+"E"+E$+"G":H2$=E$+"F"+E$+"H"
208 T1$=C1$+E$+"S"+CHR$(48)+E$+"A"+CHR$(6):T2$=C2$+E$+"T"+E$+"A"+CHR$(12)
210 A=2:ONPCGOTO212,214,216,218,220,222,224,226,228,230,232,234
212 E=1:B=.:C=1:D=.:CL=3:PL=1:RETURN
214 E=1:B=2:C=.:D=1:CL=3:PL=10:RETURN
216 E=1:B=2:C=.:D=1:CL=3:PL=16:RETURN
218 E=1:B=2:C=2:D=9:CL=3:PL=16:RETURN
220 E=8:B=4:C=.:D=1:CL=4:PL=28:RETURN
222 E=1:B=2:C=.:D=1:CL=3:PL=14:RETURN
224 E=7:B=1:C=.:D=2:CL=4:PL=22:RETURN
226 E=7:B=1:C=.:D=1:CL=4:PL=28:RETURN
228 E=10:B=4:C=1:D=3:CL=4:PL=36:RETURN
230 E=19:B=8:C=1:D=1:CL=5:PL=30:GOTO238
232 E=19:B=8:C=1:D=1:CL=5:PL=30:T1$=C1$+E$+"G":T2$=C2$+E$+"H":GOTO238
234 A=1:E=19:B=6:C=1:D=1:CL=3:PL=48:P$=" * * * * * * * * * *"
236 T1$=E$+"E":T2$=E$+"F"
238 X=INT(IP/CL):R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
240 RETURN
300 REM *** Y/N
302 U=3:Y=20:X=17-LEN(P$)/2:GOSUB20:PRINTP$:X=X+LEN(P$)+2
304 GOSUB20:PRINTW$"NO ":Y=Y+1:GOSUB20:PRINTR$"YES"
306 GOSUB952:IFI$="^"THENRETURN
308 I$="N":IFC=1THENI$="Y":POKES+B,160
310 RETURN
400 REM ** LOAD FILES
402 F$=":\*":U=1:GOSUB602:IFERTHENN=.:GOSUB430:RETURN
404 IFI$<>"^"THENIFNF<.THENP$=P7$:GOSUB30:RETURN
406 F$=V$(B/40+BB):GOSUB430:IFI$="^"THENRETURN
408 GOSUB93:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R"
410 GOSUB91:IFERTHEN94
412 GOSUB75:INPUT#1,N:INPUT#1,DT$:INPUT#1,ID$:INPUT#1,BK$:INPUT#1,P
414 GOSUB2060:IFMATHEND$=ID$:ID$="\\"
416 F$=D$+ID$:I$="":Y=5:X=5:GOSUB20:PRINTW$R$"LOADING..."
418 Y=6:GOSUB20:PRINTNTAB(10)DT$" "ID$
420 POKE850,76:POKE851,88:POKE852,3:POKE952,21
422 FORI=1TON:SYSDL:T$(I)=LEFT$(X$,20)
424 Y=7:GOSUB20:PRINTR$ITAB(10)T$(I):NEXT
426 GOSUB77:GOSUB91:IFERTHEN94
428 CLOSE1:BK$=RIGHT$(" "+BK$,4):RETURN
430 GOSUB75:FORI=1TONF:V$(I)="":NEXT:GOSUB77:RETURN
500 REM ** SAVE FILES
502 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
504 GOSUB93:F$="\"+LEFT$(DT$,15)
506 OPEN1,DD,8,MID$(STR$(DR),2,1)+":"+F$+",S,W"
508 GOSUB91:IFER=63THENP$=S5$:GOTO528
510 IFERTHEN94
512 Y=5:X=5:GOSUB20:PRINTW$R$"SAVING"N"[157] PROGRAMS"
514 GOSUB2060:IFMATHENID$=D$
516 PRINT#1,N:PRINT#1,DT$:PRINT#1,ID$:PRINT#1,BK$:PRINT#1,P
518 GOSUB2060:IFMATHENID$="\\"
520 FORI=1TON:PRINT#1,T$(I)
522 Y=7:GOSUB20:PRINTI;TAB(10)T$(I)
524 NEXT:GOSUB91:IFERTHEN94
526 CLOSE1:U=10:RETURN
528 CLOSE1:GOSUB48:GETI$
530 IFI$="Y"THENP$=P1$:GOSUB45:PRINT#15,"S"+MID$(STR$(DR),2,1)+":"+F$:GOTO504
532 IFI$<>"N"THEN528
534 Y=2:X=60-LEN(H$)/2:GOSUB20:PRINTR$W$H$;:RETURN
600 REM ** READ DIRECTORY
602 IFN<1THEN616
604 Y=10:X=12:GOSUB20:PRINTR$"[158]CAUTION..."W$
606 PRINTR$"ENTRIES CURRENTLY IN THE "
608 PRINTR$"COMPUTER'S MEMORY ARE LOST "
610 PRINTR$"WHEN A FILE IS LOADED UNLESS"
612 PRINTR$"IT HAS BEEN SAVED PRIOR TO "
614 PRINTR$"LOADING THE NEW FILE. "
616 P$=S8$:IFU>.THENP$=S9$
618 GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
620 IFU>.THENGOSUB93:GOTO624
622 P$=P1$:GOSUB48:CLOSE15:OPEN15,SD,15,"I"+MID$(STR$(SR),2,1)+":":P$=S8$
624 POKE850,32:POKE851,228:POKE852,255:POKE952,29
626 IFU>.THENOPEN1,DD,.,"$"+MID$(STR$(DR),2,1)+F$:GOTO630
628 OPEN1,SD,.,"$"+MID$(STR$(SR),2,1)+F$
630 GOSUB91:IFERTHEN94
632 IFN>1THENGOSUB75:FORI=.TON:T$(I)="":NEXT:GOSUB77:N=.:Z=FRE(.)
634 SYSDL:DT$=MID$(X$,7,16):ID$=MID$(X$,25,2)
636 H$=DT$+ID$:GOSUB534
638 REM ** SYS DIR READ
640 NF=-1:POKE850,76:POKE851,100:POKE852,3:POKE952,24:GOSUB75
642 SYSDL:B$=LEFT$(X$,1):C$=MID$(X$,2,1):S$=STR$(ASC(C$)*256+ASC(B$))
644 S$=RIGHT$(" "+S$,4):IFSTTHEN652
646 Y=5:X=9:GOSUB20:PRINTW$R$MID$(X$,3,19)S$
648 NF=NF+1:V$(NF)=MID$(X$,3,16)+MID$(X$,20,2)+S$
650 GOTO642
652 GOSUB77:GOSUB91:IFERTHEN94
654 BK$=S$:IFI$="^"THENN=.
656 CLOSE1:IFNF<.THENRETURN
658 H$=H$+BK$+" BKS FREE":GOSUB534
700 REM ** FILE SELECTION
702 GOSUB60:PRINTP4$P5$;:IFU=1THENY=25:X=.:GOSUB20:PRINT S0$;
704 S=1145:B=.:FORK=.TONFSTEP38
706 Y=4:X=2:FORJ=.TO18
708 SL=13:X=2:GOSUB766:Y=Y+1:IFY=23THENY=4
710 PRINT:IFJ+K=NFTHENJ=37
712 NEXT:X=2
714 POKES+B,62:POKE198,.:WAIT198,1:GETI$
716 IFI$="[145]"THENB=B-40:POKES+B+40,160:IFB=-40THENPOKES+B,160:B=18*40:GOTO722
718 IFI$=""THENB=B+40:POKES+B-40,160:IFB=19*40THENPOKES+B,160:B=.:GOTO722
720 POKES+B-40,160:IFI$<>""THEN726
722 IFS=1164THENPOKES+B,160:S=S-19:X=2:GOTO726
724 IFS=1145THENPOKES+B,160:S=S+19:X=22
726 IFU=1THENIFI$="E"ORI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
728 IFU=2THENIFI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
730 IFI$="E"THEN752
732 IFI$="S"THENIFU<>1THENGOSUB774:POKES+B,160:GOTO706
734 IFI$="^"THENK=NF:NEXT:GOSUB776:RETURN
736 IFNF>37THENIFI$="N"THENGOSUB60:B=.:S=1145:NEXT:GOTO702
738 IFI$="P"THENIFK>.THENK=K-38:B=.:S=1145:GOSUB60:GOTO706
740 IFI$<>CHR$(13)THEN714
742 BB=K:POKE198,.:Y=B/40+4:GOSUB20:IFS=1164THENBB=K+19:X=21
744 IFU=1THENIFV$(B/40+BB)>""THENRETURN
746 IFX(B/40+BB)=1THENX(B/40+BB)=.:PRINTO$;:GOTO750
748 IFX(B/40+BB)=.THENX(B/40+BB)=1:PRINTR$;
750 GOSUB20:GOSUB764:PRINT:GOTO714
752 P$=W$+P2$:GOSUB45:GOSUB47:GETI$:IFI$="Y"THENU=9:GOTO758
754 IFI$<>"N"THEN752
756 Y=24:X=.:GOSUB20:PRINTP4$P5$;:X=2:Y=Y-1:GOTO714
758 GOSUB75:P$=P1$:GOSUB48
760 N=1:FORI=.TONF:IFX(I)=1THENT$(N)=LEFT$(V$(I),17)+RIGHT$(V$(I),3):X(I)=.:N=N+1
762 V$(I)="":NEXT:GOSUB77:N=N-1:P=1:RETURN
764 PRINTW$LEFT$(V$(B/40+BB),SL)MID$(V$(B/40+BB),SL+4,1)RIGHT$(V$(B/40+BB),3);:RETURN
766 GOSUB20:IFX(K+J)=1THENPRINTR$;
768 PRINTW$LEFT$(V$(K+J),SL)MID$(V$(K+J),SL+4,1)RIGHT$(V$(K+J),3)O$;
770 IFX(K+J+19)=1THENPRINTR$;
772 PRINT""LEFT$(V$(K+J+19),SL)MID$(V$(K+J+19),SL+4,1)RIGHT$(V$(K+J+19),3):RETURN
774 FORI=.TONF:X(I)=X(I)+1AND1:NEXT:RETURN
776 P$=P1$:GOSUB48:FORI=.TONF:X(I)=.:V$(I)="":NEXT:RETURN
800 REM ** SORT
802 POKE1023,.:P$="SORTING"+STR$(N)+" FILES":GOSUB48:SYSML,T$(.):P=.
804 POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA:RETURN
900 REM ** ADD/SEARCH
902 U=1:G=N+1:T$(G)=" BLANK RECORD ? 00":GOSUB918:N=N+1:RETURN
904 P$="PROGRAM NAME?":J=15:A$=" ":J$="":I=.:GOSUB102:IFJ$=""THENRETURN
906 G=1:P$=P1$:GOSUB48
908 IFRIGHT$(J$,1)="*"THENJ$=LEFT$(J$,J-1)
910 J=LEN(J$):IFJ$=LEFT$(T$(G),J)THEN918
912 G=G+1:IFG=N+1THENGOSUB60:P$="FILE NOT FOUND":GOSUB30:RETURN
914 GOTO908
916 REM ** CHANGE ROUTINE
918 P$=BL$:GOSUB48:Y=15:X=10:GOSUB20:IFJ$="D"THEN940
920 PRINTR$W$P8$:PRINTTAB(X)T$(G)
922 Y=13:X=10:GOSUB20:PRINTR$"[152]CHANGE[146]FROMTO"
924 A$=T$(G)
926 P$=BL$:GOSUB45:GOSUB47
928 U=1:J$="":I=.:GOSUB102:U=.:PRINTW$;
930 I=.:J=20:J$="":Y=17:X=10:GOSUB106:J$=A$:I$=""
932 PRINT"[158]";:P$=LEFT$(P2$,12)+"?" :GOSUB302:IFI$="N"THEN918
934 IFK=2THENIFI$="^"THENRETURN
936 IFI$="^"THENN=N-1:RETURN
938 T$(G)=J$:P=1:RETURN
940 P$=P1$:GOSUB45:GOSUB75:FORI=GTON:T$(I)=T$(I+1):NEXT:GOSUB77:N=N-1:J$="":RETURN
950 REM *** CURSOR SELECT ROUTINE
952 B=.:S=1152:Y=24:X=8:GOSUB20:PRINTW$R$".....CRSR=MOVEMENT....."SPC(9)S0$;:C=N
954 IFU=1THENB=40*G:C=14:S=1193
956 IFU=2THENC=11:S=1267:IFPCTHENB=40*(PC-1)
958 IFU=3THENC=1:S=1784+18+LEN(P$)/2
960 IFI$="D"THENJ$="D"
962 :POKES+B,62:POKE198,.
964 GETI$:IFI$=""ORI$=""THENIFB+40=760ORB/40=>CTHENPOKES+B,160:B=-40
966 IFI$=""ORI$=""THENB=B+40:POKES+B,62:POKES+B-40,160
968 IFI$="[145]"ORI$="[157]"THENIFB-40=-40THENPOKES+B,160:B=760:IFC<19THENB=C*40+40
970 IFI$="[145]"ORI$="[157]"THENPOKES+B,160:B=B-40:POKES+B,62
972 IFI$="N"ORI$="P"ORI$="E"ORI$="S"ORI$="^"THENRETURN
974 IFUTHENIFI$=CHR$(13)THENC=B/40:U=.:RETURN
976 IFI$<>CHR$(13)THEN964
978 IFN<19THENC=B/40:GOTO982
980 C=J-18+B/40:IFC<.THENC=N-ABS(C)+1
982 IFCTHENG=C:K=2:GOSUB918:C=G
984 J=C-1:IFN<19THENJ=-1
986 GOSUB10:RETURN
1000 REM ** MASTER FILE
1002 POKE53280,13:F$=":\*":U=2:GOSUB602:IFERTHENN=.
1004 IFI$="^"OR ER THENRETURN
1006 IFNF<.THENP$=P7$:GOSUB30:N=.:RETURN
1008 IFT$(1)=""THENRETURN
1010 DT$="\MASTER ":ID$="\\":MA=1
1012 I=.:FORK=1TON:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+T$(K)+",S,R"
1014 INPUT#1,J:I=I+J:CLOSE1:NEXT
1016 BK$=RIGHT$(" "+STR$(I),4):RETURN
1020 REM ** PRINT MASTER
1022 IFP=2THEN1052
1024 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
1026 IFI$="Y"THENGOSUB1152
1028 P$=BL$:GOSUB48:V$(.)=DT$+ID$+BK$+STR$(P):P$=P1$:GOSUB45
1030 GOSUB75:FORK=1TON:V$(K)=T$(K):T$(K)="":NEXT:GOSUB77:M=N
1032 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THEN1042
1034 FORK=1TOM:F$=V$(K):GOSUB408:IFERTHENK=M:GOTO1040
1036 GOSUB60:GOSUB1206:IFI$="^"THENK=M
1038 GOSUB75:FORI=1TON:T$(I)="":NEXT:GOSUB77
1040 NEXT
1042 P$=P1$:GOSUB48:DT$=LEFT$(V$(.),16):ID$=MID$(V$(.),17,2):BK$=MID$(V$(.),19,4)
1044 P=VAL(RIGHT$(V$(.),1))
1046 GOSUB75:FORK=1TOM:T$(K)=V$(K):V$(K)="":NEXT:N=M:CLOSE15:GOSUB77:RETURN
1050 REM *** PRINT/ALPHABETIZE MASTER
1052 IFVAL(BK$)<1201THEN1058
1054 P$=BL$:GOSUB48:Y=20:X=4:GOSUB20:PRINTR$"[158]TOO MANY RECORDS - 1200 MAXIMUM!"
1056 P$=S6$:GOSUB30:RETURN
1058 PRINT"[158]";:P$="HAVE YOU SAVED[153] MASTER [158]FILE?":GOSUB302:IFI$="N"ORI$="^"THENRETURN
1060 POKE1015,SD:POKE1016,DD:POKE1017,SR:POKE1018,DR:POKE1019,SA:POKE49152,.:POKE53281,15
1062 PRINT"[147]LOAD"CHR$(34)"DISK LAB.MSORT"CHR$(34)","DD:PRINT"RUN"
1064 PRINT"[151]";:POKE198,8:FORI=1TO7:POKE630+I,13:NEXT:STOP
1100 REM ** PRINT TO SCREEN
1102 J=-1:GOSUB60:GOSUB2060
1104 P$=DT$+ID$+STR$(N)+" PROGRAMS":IFN<1ORI$="^"THENRETURN
1106 Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTW$R$P$:GOTO1116
1108 P$=P6$:G=1:IFLEFT$(DT$,3)="\MA"THENP$=MID$(P6$,19):G=.
1110 GOSUB45:GOSUB30:IFI$="^"THENRETURN
1112 IFGTHENIFI$="C"ORI$="D"THENP$=BL$:GOSUB45:GOSUB952:GOTO1104
1114 IFN<19THEN1110
1116 GOSUB60:X=.:Y=4:GOSUB20
1118 IFI$<>"P"THENJ=J+1:GOTO1122
1120 J=J-37:IFJ<.THENJ=N-ABS(J)+1:IFJ<.THENJ=.
1122 IFJ>NTHENJ=.
1124 IFJ=.THEN1132
1126 PRINTTAB(9)W$T$(J):IFN<19THENIFJ=NTHEN1108
1128 IFPEEK(214)<22THENJ=J+1:GOTO1122
1130 GOTO1108
1132 PRINTW$R$""P8$
1134 GOTO1128
1150 REM ** PRINT OPTIONS
1152 P$=BL$:GOSUB48:P$="PRINT OPTIONS":Y=4:X=13:GOSUB20:PRINTCY$P$
1154 PRINTTAB(6)"VERTICAL X HORIZONTAL SIZE"
1156 X=4:Y=7:FORI=1TO12:GOSUB20:PRINTR$W$MID$(STR$(I)+" ",2,2)O$PC$(I):Y=Y+1:NEXT
1158 U=2:GOSUB952:IFI$="^"THENRETURN
1160 PC=C+1:P$=BL$:GOSUB48
1162 P$="COMMENT/DATE/ETC...":J=17:A$=LEFT$(" ",J-LEN(D$))
1164 GOSUB45:J$=D$:I=LEN(D$)
1166 Y=22:X=5:GOSUB20:PRINT"[159]NO COMMAS,SEMICOLONS OR COLONS":GOSUB102:D$=J$
1168 RETURN
1200 REM ** PRINT TO PRINTER
1202 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
1204 IFI$="Y"THENGOSUB1152
1206 IFK>1THEN1212
1208 P$=BL$:GOSUB48:Y=18:X=4:GOSUB20:PRINTR$"[158]PREPARE PRINTER & POSITION LABELS"
1210 P$=S6$:GOSUB30:IFI$="^"THENRETURN
1212 P$=T3$:E$=CHR$(27):S=4:CLOSES:OPENS,S,SA:GOSUB202:IFMTHENIFPC>9THENGOSUB1328
1214 IFK>1THENP$=""
1216 PG=PL:PRINT#S,E$"U"CHR$(48);:FORI=1TOCL:PRINT#S,P$SPC(B/A);:NEXT:PRINT#S
1218 IFK>1THEN1224
1220 P$="TEST ALIGNMENT AGAIN?":GOSUB302:S=4:P$=T3$:GOSUB202:IFI$="^"THENCLOSES:RETURN
1222 IFI$="Y"THENLN=.:GOTO1212
1224 PRINT#S,H1$;:IFCTHENFORI=1TOC:PRINT#S:NEXT
1226 P$=S4$:GOSUB48:Y=4:X=5:GOSUB20:IFPC>1THEN1234
1228 PRINT#S,C3$SPC(E)DT$C4$:GETI$:IFI$="^"THEN1326
1230 PRINT#S,C3$SPC(E)ID$" "MID$(STR$(VAL(BK$)),2)" BLKS FREE
1232 [152]S,[166]E[172]3)D$H2$:[152]S:[137]1326
1234 [152]S,C3$[166]E[173]2)DT$ID$C4$:[161]I$:[139]I$[167]1326
1236 [152]S,[166]E)[202]([196]([197](BK$)),2)" BLKS FREE - "D$H2$;
1238 X[178][181](IP[173]CL):[139]N[177]PG[172]CL[167]X[178]PL:IP[178]PG[172]CL
1240 C3[178]2[172]X:C4[178]3[172]X:C5[178]4[172]X:R[178][165]R(X):[139]R[177].[167][139]R[179][178]CL[167]X[178]X[170]1
1242 C3[178]2[172]X:C4[178]3[172]X:C5[178]4[172]X:[145]CL[137]1244,1246,1250,1258,1268
1244 C3[178]IP:C4[178]IP:C5[178]IP:[137]1278
1246 [139]R[167]C3[178]2[172]X[171]1
1248 [137]1278
1250 [145]R[137]1254,1256:[143] **CL=3
1252 [137]1278
1254 C3[178]X:C4[178]2[172]X[171]1:[137]1278
1256 C4[178]3[172]X[171]1:[137]1278
1258 [145]R[137]1262,1264,1266:[143] **CL=4
1260 [137]1278
1262 C3[178]2[172]X[171]1:C4[178]3[172]X[171]2:[137]1278
1264 C4[178]3[172]X[171]1:[137]1278
1266 [137]1278
1268 [145]R[137]1272,1274,1276:[143] **CL=5
1270 [137]1278
1272 C3[178]2[172]X[171]1:C4[178]3[172]X[171]2:C5[178]4[172]X[171]3:[137]1278
1274 C4[178]3[172]X[171]1:C5[178]4[172]X[171]2:[137]1278
1276 C5[178]4[172]X[171]1
1278 [152]S,T1$
1280 [139]D[167][129]I[178]1[164]D:[152]S:[130]
1282 [129]I[178]1[164]CL[171]1:[152]S,P9$[166]B);:[130]:[152]S,P9$
1284 [139]PC[179]10[167][139]X[179]PL[171]1[167][129]I[178]1[164][181]((PL[171]X)[173]2):[152]S:[130]
1286 [139]Z[177].[167]C3[178]C3[170]Z:C4[178]C4[170]Z:C5[178]C5[170]Z:[139]N[179][178]PG[172]CL[167]IP[178]IP[170]Z
1288 [129]I[178]1[164]X:[161]I$:[139]I$[178]"^"[167]I[178]X:[130]:[137]1326
1290 [152]S,T$(I[170]Z)[166]B);
1292 [139]C3[178][177]I[170]X[170]Z[167][152]S,T$(I[170]X[170]Z)[166]B);
1294 [139]I[170]C3[177]IP[167][152]S:[137]1306
1296 [139]C4[178][177]I[170]C3[167][152]S,T$(I[170]C3)[166]B);
1298 [139]I[170]C4[177]IP[167][152]S:[137]1306
1300 [139]C5[178][177]I[170]C4[167][152]S,T$(I[170]C4)[166]B);
1302 [139]I[170]C5[177]IP[167][152]S:[137]1306
1304 [139]C5[170]X[178][177]I[170]C5[167][152]S,T$(I[170]C5)
1306 [130]:[139]PC[179]10[167][139]X[179]PL[171]1[167][129]I[178]1[164][181]((PL[171]X)[173]2):[152]S:[130]
1308 [139]PC[179]10[167][139]X[175]1[167][152]S
1310 [129]I[178]1[164]CL[171]1:[152]S,P9$[166]B);:[130]:[139]N[179][178]PG[172]CL[167][152]S,P9$:[137]1314
1312 [152]S,"-----CONTINUED------"
1314 [139]PC[178]6[176]PC[178]7[167][129]I[178]1[164]5:[152]S:[130]
1316 [139]N[179][178]PG[172]CL[167]1326
1318 [152]S,T2$;H1$
1320 [139]C[167][129]I[178]1[164]C:[152]S:[130]
1322 [152]S,DT$ID$" CONTINUED...":[152]S,"PAGE#"(PG[173]PL)[170]1" - "D$H2$;
1324 Z[178]PG[172]CL:IP[178]N[171](PG[172]CL):PG[178]PG[170]PL:[137]1238
1326 [152]S,T2$;:[160]S:[142]
1328 J[178]66:JJ[178]7:[139]PC[178]10[167]J[178]132:JJ[178]10
1330 [139]X[170]JJ[179]J[171]LN[167]1336
1332 [139]PC[178]10[167][152]S,E$"A"[199](6);
1334 [129]I[178]1[164]J[171]LN:[152]S:[130]:LN[178].:[139]PC[178]10[167][152]S,E$"A"[199](12);
1336 LN[178]LN[170]JJ[170]X:[139]LN[178][177]J[167]LN[178].
1338 [142]
1400 [143] ** EQUIP SETUP OPTIONS
1402 [141]48:Z[178].:U[178].:I[178].:P$[178]R$[170]"LIST CMDCMDCMDCMDCMD"[170]O$[170]W$
1404 SD[178]SD[170]I:[141]1438:Y[178]7:X[178]4:[141]20:[153]W$"SOURCE DEVICE #:",P$SD:[139]U[167][142]
1406 DD[178]DD[170]I:[141]1438:Y[178]9:[141]20:[153]"MASTER DEVICE #:",P$DD:[139]U[167][142]
1408 SR[178]SR[170]I:[141]1438:Y[178]11:[141]20:[153]"SOURCE DRIVE #:",,P$SR:[139]U[167][142]
1410 DR[178]DR[170]I:[141]1438:Y[178]13:[141]20:[153]"MASTER DRIVE #:",,P$DR:[139]U[167][142]
1412 SA[178]SA[170]I:Y[178]15:[141]20:[153]"SECONDARY ADDRESS:",P$SA:[139]U[167][142]
1414 Y[178]19:[141]20:[153]R$"USE CURSOR KEYS TO SELECT"
1416 Y[178]21:[141]20:[153]W$R$"USE +/- KEYS TO CHANGE"
1418 [141]47:Y[178]24:X[178]47:[141]20:[153]R$CY$" PRESS ' ^ ' TO RETURN ";:[139]Z[178]1[167][142]
1420 Y[178]7:U[178]1
1422 I[178].:X[178]28:[141]20:[153]R$W$">>":X[178]4:[161]I$:[139]I$[178]"-"[167]I[178]I[171]1:[141]1434
1424 [139]I$[178]"+"[167]I[178]I[170]1:[141]1434
1426 [139]I$[178]""[176]I$[178]""[167]X[178]25:[141]20:[153]P$:Y[178]Y[170]2:U[178]U[170]1:X[178]28:I[178].:[139]Y[177]15[167]Y[178]7:U[178]1
1428 [139]I$[178]"ON"[176]I$[178]"CMD"[167]X[178]25:[141]20:[153]P$:Y[178]Y[171]2:U[178]U[171]1:X[178]28:I[178].:[139]Y[179]7[167]Y[178]15:U[178]5
1430 [139]I$[178]"^"[176]I$[178][199](13)[167]1456
1432 [137]1422
1434 [145]U[141]1404,1406,1408,1410,1412
1436 [142]
1438 [139]SD[179]8[167]SD[178]15
1440 [139]SD[177]15[167]SD[178]8
1442 [139]DD[179]8[167]DD[178]15
1444 [139]DD[177]15[167]DD[178]8
1446 [139]SR[179].[167]SR[178]1
1448 [139]SR[177]1[167]SR[178].
1450 [139]DR[179].[167]DR[178]1
1452 [139]DR[177]1[167]DR[178].
1454 [142]
1456 [139]SD[178]8[175]DD[178]8[167][142]
1458 P$[178]BL$:[141]48:P$[178]"CHANGE DEVICE #?":[141]302:[139]I$[178]"N"[176]I$[178]"^"[167][142]
1460 P$[178]BL$:[141]48:Y[178]17:X[178]7:[141]20:[153]R$"SYSTURN OFF ALL DRIVES EXCEPT"
1462 Y[178]Y[170]1:[141]20:[153]R$" THE ONE TO BE CHANGED. "
1464 P$[178]"OLD DEVICE # ":J[178]2:A$[178]" ":J$[178]"8":I[178]1:[141]102:[139]J$[178]""[167][142]
1466 OD[178][197](J$):[139]OD[179]8[176]OD[177]15[167]1464
1468 P$[178]"NEW DEVICE # ":J[178]2:A$[178]" ":J$[178]"9":I[178]1:[141]102:[139]J$[178]""[167][142]
1470 ND[178][197](J$):[139]ND[179]8[176]ND[177]15[167]1468
1472 [160]15:[159]15,OD,15
1474 [152]15,"M-W"[199](119)[199](.)[199](2)[199](ND[170]32)[199](ND[170]64):P$[178]BL$:[141]48
1476 Y[178]20:X[178]10:[141]20:[153]R$"SYSTURN ON OTHER DRIVE!":P$[178]S6$:[141]30:[160]15:[142]
1500 [143] ** INITILIZE VARIABLES
1502 [153][199](142):ML[178][194](45)[170]256[172][194](46)[171]262[171]3
1504 [140]:R$[178]"":O$[178]"WAIT":BL$[178]"":CY$[178]"OPEN":W$[178]"":[151]53280,7:[151]53281,11
1506 [134]V$(152),T$(152),M$(15),PC$(12):DL[178]830:SD[178]8:DD[178]8:SA[178]4:CL[178]3
1508 [139][194](1015)[179][177].[167]SD[178][194](1015):DD[178][194](1016):SR[178][194](1017):DR[178][194](1018):SA[178][194](1019)
1510 [134]X(152)
1512 [135]M$(.):[129]I[178]1[164]15:[135]M$(I):M$(I)[178][200](M$(I)[170]" ",18):[130]
1514 [129]I[178]1[164]12:[135]PC$(I):[130]:D$[178]"DISK LABELER+"
1516 S1$[178]" WAIT"
1518 S2$[178]"OPEN THE DISK LABELER+ V1.0 WAIT"
1520 S3$[178]" WAIT"
1522 S4$[178]"PRESS & HOLD '^' TO STOP PRINTING"
1524 S5$[178]"SYSREPLACE EXISTING FILE (Y/N)?
1526 S6$="PRESS A KEY TO CONTINUE"
1528 S7$="SELECT ONE"
1530 S8$="[158]SOURCE"
1532 S9$="[158]MASTER"
1534 P1$="WORKING"
1536 P2$="SELECTION OK (Y/N)?"
1538 P3$="NO FILES AVAILABLE!"
1540 P4$="CRSR=MOVEMENT N=NEXT P=PREVIOUS[146]"
1542 P5$="RETURN=SELECT S=SWAP E=END ^=MENU[146]"
1544 S0$=" RETURN=SELECT ^=MENU [146]"
1546 P6$="C=CHANGE D=DELETE P=PREVIOUS OTHERS=NEXT"
1548 P7$="NO DISK LABELER FILES FOUND"
1550 P8$="FILENAME T SZ"
1552 P9$="--------------------"
1554 T3$=" * * * * * *"
1556 GOSUB10:Y=3:X=5:GOSUB20:PRINTW$R$"VERIFIED/C64/1541/FX80/CARD?/G"
1558 READP$:Y=5:X=4:GOSUB20:PRINT"[158]"R$P$:X=2
1560 FORY=7TO13:READP$:GOSUB20:PRINTW$R$P$:NEXT
1562 FORY=16TO22:READP$:X=20-LEN(P$)/2:GOSUB20:PRINTP$:NEXT
1564 IFPEEK(DL)=160THEN1568
1566 OPEN1,8,.,"0:DISK LAB.DIR,S,R":FORI=DLTODL+148:INPUT#1,A:POKEI,A:NEXT:CLOSE1
1568 Z=FRE(.):I$="":P$=" INSTRUCTIONS (Y/N)? ":POKE198,.:GOSUB30:IFI$<>"Y"THEN2000
1570 IFCTHENP$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
1572 CLOSE1:OPEN15,DD,15:S=3:OPEN1,DD,.,MID$(STR$(DR),2,1)+":DISK LAB.INST,S,R"
1574 GOSUB91:IFERTHENGOSUB94:GOSUB10:GOTO1568
1576 GOSUB60:X=.:Y=4:GOSUB20:IFS=4THENPRINT#S
1578 INPUT#1,P$:IFP$="END"THENP$=S6$:GOSUB30:GOTO1590
1580 IFI$="^"THEN1590
1582 PRINTR$"[155]"P$:IFS=4THENPRINT#S,P$
1584 IFPEEK(214)<22THEN1578
1586 P$=S6$:GOSUB30:IFI$="P"THENS=4:CLOSES:OPENS,4,SA
1588 GOTO1576
1590 CLOSE1:CLOSES:IFU=1THENRETURN
2000 REM ** MAIN MENU
2002 GOSUB2060:GOSUB10:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:P0$="SORTED"
2004 G=2:IFU>8THENG=4:IFU=10THENG=.
2006 POKE198,.:K=.:M=.:LN=.:J$="":F$=DT$
2008 IFN<1THENN=.:DT$="NO FILE NAME ":ID$="?":BK$="00":P=1:G=.
2010 Y=4:X=10:GOSUB20:PRINTM$(.):Y=5:IFBK$=""THENBK$=" ?"
2012 FORI=1TO15:P$=R$:IFN<1THENIFI=3ORI=4ORI=5ORI=6ORI=8THENP$=O$
2014 IFI=6THENIFP=.THENP$=O$
2016 IFI=7ORI=8THENIFMATHENP$=O$
2018 IFI=11THENIFP=2THENP$=O$
2020 IFI=10ORI=11THENIFMA=.THENP$=O$
2022 GOSUB20:PRINTW$P$RIGHT$(" "+STR$(I),2)W$;
2024 PRINTO$M$(I):Y=Y+1:NEXT:IFPTHENP0$="UNSORTED":IFP=2THENP0$="ALPHABETIZED"
2026 P$=DT$:IFN>.THENP$=P$+ID$+BK$+" BKS FREE"
2028 Y=21:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$:P$=STR$(N)+" PROGRAMS : "+P0$
2030 Y=22:X=20-LEN(P$)/2:GOSUB20:PRINTR$P$
2032 F$=""::U=1:GOSUB952:G=C:IFUTHEN2050
2034 C=C+1:IFC=1ORC=2ORC=7ORC=9ORC=12ORC=13ORC=14ORC=15THEN2042
2036 IFC=6THENIFP=.THENPOKES+B,160:GOTO2032
2038 IFC=10ORC=11THENIFMA=.THENPOKES+B,160:GOTO2032
2040 IFN<1THENPOKES+B,160:GOTO2032
2042 IFC=7ORC=8THENIFMATHENPOKES+B,160:GOTO2032
2044 IFC=11THENIFP=2THENPOKES+B,160:GOTO2032
2046 P$=BL$:GOSUB48:POKE53280,7:IFC>2THENGOSUB2060
2048 ONCGOSUB602,402,1102,1202,502,802,902,904,1002,1022,1052,1150,1402,1570,2052
2050 GOSUB2060:GOTO2002
2052 IFN=.THEN2058
2054 PRINT"[158]";:P$="HAVE YOU SAVED CURRENT [158]FILE?"
2056 GOSUB302:IFI$="N"ORI$="^"THENRETURN
2058 PRINT"[147]HAPPY COMPUTING!!":CLR:END
2060 IFLEFT$(DT$,7)="\MASTER"THENPOKE53280,13:MA=1:RETURN
2062 MA=.:POKE53280,7:RETURN
5000 REM ** MENU CHOICES
5002 DATA"[158] MAIN MENU ","CREATE A NEW FILE","LOAD A FILE"
5004 DATA"VIEW/EDIT ENTRIES","PRINT ENTRIES","SAVE ENTRIES"
5006 DATA"SORT ENTRIES","ADD A SINGLE ITEM","SEARCH BY NAME"
5008 DATA"CREATE MASTER FILE","PRINT MASTER FILE","ALPHABETIZE MASTER"
5010 DATA"PRINT OPTIONS","EQUIPMENT SETUP","INSTRUCTIONS","EXIT TO BASIC"
5012 REM ** PRINT OPTIONS
5014 DATA" 15/16 X 3 1/2 HEADER INFO ONLY"
5016 DATA"1 7/16 X 4 MAILING LABEL","1 15/16 X 4 MAILING LABEL"
5018 DATA"2 15/16 X 4 SHIPPING LABEL","2 15/16 X 5 3/4 SHIPPING LABEL"
5020 DATA"2 1/16 X 4 ROTARY FILE CARD","3 X 5 ROTARY FILE CARD"
5022 DATA"3 X 5 FILE CARD","4 X 6 FILE CARD"
5024 DATA"5/SUP ACROSS PAGE","5/CON ACROSS PAGE","3/REG ACROSS PAGE"
5026 DATA"**** USER SUPPORTED SOFTWARE ****"
5028 DATA"YOU ARE ENCOURAGED TO COPY AND SHARE"
5030 DATA"THIS PROGRAM WITH OTHER USERS ON THE"
5032 DATA"CONDITIONS THAT THE PROGRAM IS NOT "
5034 DATA"DISTRIBUTED IN MODIFIED FORM, THAT "
5036 DATA"NO FEE OR CONSIDERATION IS CHARGED, "
5038 DATA"AND THAT THIS NOTICE IS NOT BYPASSED"
5040 DATA"OR REMOVED. "
5042 DATA" IF YOU FIND THIS PROGRAM TO BE "
5044 DATA" OF VALUE, A CONTRIBUTION TO THE "
5046 DATA" AUTHOR WILL BE APPRECIATED. ":DATA"
5048 [131]"FREDIE J. LAYBERGER"
5050 [131]"14524 'N' STREET "
5052 [131]"OMAHA, NE 68137 "